package com.ryder.petmatediarybackend.module.social.entity;

import java.time.LocalDateTime;
import java.io.Serial;
import lombok.Data;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.FieldFill;
import java.io.Serializable;

 /**
 * 描述: 社交圈子表(SocialCircle)实体类
 * 
 * @author Ryder
 * @version 1.0
 * @since 1.0
 * 更新日期: 2025-10-31 03:35:33
 */
@Data
public class SocialCircle implements Serializable {

    @Serial
    private static final long serialVersionUID = 327290134128687537L;

    /**
     * 圈子ID（雪花ID生成）
     */
    @TableId(type = IdType.ASSIGN_ID)
    private Long id;

    /**
     * 圈子类型：1=宠物圈子（所有用户可发） 2=店铺圈子（仅商家可发） 3=社交小圈子（用户自建，可邀请加入）
     */
    private Integer circleType;

    /**
     * 圈子名称
     */
    private String circleName;

    /**
     * 圈主ID（创建者）
     */
    private Long ownerId;

    /**
     * 关联店铺ID（店铺圈子）
     */
    private Long shopId;

    /**
     * 圈子头像
     */
    private String avatar;

    /**
     * 圈子描述
     */
    private String description;

    /**
     * 加入码（社交小圈子扫码加入）
     */
    private String joinCode;

    /**
     * 成员数量
     */
    private String memberCount;

    /**
     * 动态数量
     */
    private String postCount;

    /**
     * 是否私密：0=公开 1=私密
     */
    private Integer isPrivate;

    /**
     * 状态：1=正常 2=已关闭
     */
    private Integer status;

    /**
     * 逻辑删除：0未删除 1已删除
     */
    @TableLogic
    private Integer isDeleted;

    /**
     * 创建时间
     */
    @TableField(fill = FieldFill.INSERT)
    private LocalDateTime createTime;

    /**
     * 更新时间
     */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private LocalDateTime updateTime;
}
